На сотом уровне сделай чтобы можно было выучить скилл на основе морфа сфинкса 'Aave' у силла настрой альтернативные и нормальные формы Юнита, флаг требуется оплата убери.
Когда Юнит выучит способность триггерно приказывай применить ее.
not_name:
я карту посмотрел, да, пытался сделать похожее
только там с очередью приказов шляпа выходит, поэтому я лучше сделаю все визуально
в общем, реализовал, как и говорил выше - при смерти сразу воскрешаю героя на месте гибели, пауза, анимация, таймер, по прошествии таймера - выдаю все нужное, при повторной смерти - забираю
адекватно работает с крестами
Берем основную модель, возможно, вообще без мяса, только с гусеницами, но с кучей точек крепления. Также берем кучу моделей-аттачметов, представляющих собой эти самые пушки, корпуса и все прочее. При выборе характеристик модели через диалог или интерфейс соответственно создаем на основной модели эффекты-аттачменты, будет собрана техника. Такие штуки, как двигатель и прочие невидные извне элементы будут скорее входить в математическую модель юнита, но это также можно запилить. Название танка - сразу не скажу, есть ли триггер на смену, но на таблице рекордов можно отобразить что угодно.
2.Тоже можно.
Создаем погодный в определенной местности и делаем два триггера для контроля входа-выхода юнитов из нее. На искомых юнитов применяем нужные способности - и все готово.
Здесь чуть сложнее: нужно постоянно проверять тип местности под юнитом, но тоже можно. Проверка на ограждения тоже может бить сделана.
4.Это уже интереснее. Видел раньше подобное в играх. При каждой атаке юнита случайным образом наносим или не наносим доп. урон, эффект горения, кидаем спелл на цель в зависимости от теоретического места попадания атаки.
5.И это можно. Но нужно писать нестандартную систему Альянса. Но через триггеры и JASS все можно...
Продажа техники - лучше через способность, что бы кидать ее на понравившегося юнита, не стоит покупать кота в мешке. Стоимость должна зависеть от технического уровня юнита, его текущего состояния (мертвый танк попадет вам бесплатно, сами чините!), если он был модернизован дополнительно, то это тоже входит в стоимость. Разрешение на продажу делаем аналогично.
Это легко через Custom Value и переменние.
Как ты понял, все что ты предложил создать можно, но на это нужно потрать хороший кусок времени. Остается пожелать тебе удачи над созданием проекта - мне идея уже нравится.
Но это не помогло найти твои ресурсы. У тебя нет ни опубликованных, ни снятых с публикации ресурсов.
Счетчик ресурсов в профиле не меняли давно - сломаться это не могло.
Есть только записи в блоге, а это не листится в списках ресурсов.
Записи блогов работают как нужно - мы не оцениваем их качество, но и не продвигаем в индексе.
В связи с этим появился вопрос - а были ли у тебя ресурсы?
Я знаю, что был xgm.guru/p/wc3/new-rules-maps но автора публикации сменили на niken 31.12.2021
Не знаю, зачем, но уже не важно - ресурс больше не представляет ценности.
Да, реально. Для этого тебе понадобится сделать три вещи:
Создать улучшение на основе улучшения для Headhunter.
Создать способность на основе способности "Безумие" (именно она и изменяет Headhunter'а). Я имею в виду ту способность, в которой в данных нужно указать "тип войск".
Добавить обоим юнитам эту способность. Также посмотри, чтобы в параметре "взаимосвязь эквивалентов" у твоего "рыцаря" стоял "паладин".
Получается, что для каждого юнита на карте со способностью, имеющей вероятность срабатывания нужно сделать свою БД рандомов, так сказать сгенерировать ряд рандомных чисел? Или даже не для отдельного юнита, а для отдельной способности каждого юнита?
Proshel_Doty, ну так втули 20 циклов с рандомом. Будет тебе для 20 абилок.
Ну вот получается к этому и приходим, что нужно делать для каждого ClotPh:
Proshel_Doty, да вот хотя бы крутилка акса в доте 2 уже именно так работает, и заряды, и перезарядка, и фактически увеличивающийся шанс
другое дело, что не обязательно в базовой информации игрокам слишком много мозги компостировать, им достаточно условно знать про шанс там 15%, 20% или 30%, ну и мб перезарядку
По-моему про крутилку акса ты чего-то не знаешь)
А именно, то что он может прокрутиться 3 раза, когда его бьют 3 юнита всего
И не крутиться почти, когда его бьют 5 крипов
Если бы оно работало, как ты говоришь, то он бы крутился всегда идеально, но там по-моему как раз вот этот безумный рандом
Никак нельзя
Только разные баффы от аур стакаются. Например, нестандартный баф ауры выносливости + стандартный.
Можно попробовать сделать замедление через ауру, действующую только на самого юнита, запихнуть ее в скрытый (запрещенный) спеллбук чтобы не было видно иконку. Давать этот спелбук с аурой при наложении способности, и убирать через нужное время.
Только такой бафф не будет сниматься всякими Очищениями.
BartSi, очень странно.
Нашёл проблему. В редакторе ландшафта нужно выбрать Camera Palette (там где юниты, декорации и прочее) выбрать первую строчку (камера без имени) и удалить. Тогда проблема решится. Сбросил триггеры и удалил камеру.
Ошибка из-за того, что у камеры почему-то пустое имя. Из-за этого её переменная оканчивается на _, что нельзя в JASS.
После импорта текстуры необходимо выбрать её в менеджере импорта и поставить галочку - использовать нестандартный путь. Затем в зависимости от названия твоей текстуры нужно задать путь - TerrainArt\ИМЯ ПАПКИ\ИМЯ ТЕКСТУРЫ. Например твоя текстура имеет название Cave_Brick.blp, тогда ты прописываешь такой путь -TerrainArt\ Dungeon\Cave_Brick.blp.Иначе говорят ты просто заменяешь старую текстуру на новую. Вот здесь ты найдёшь необходимые пути к текстурам ternox.com/forum/31-4271-1.
Если светлячок крип, то по достижению N уровня герой начинает получать меньше опыта от его убийства
На скриншоте показана сама строка отвечающая за набираемый героем опыт от крипов в %
На мой взгляд легче сделать триггер-базу данных и отлавливать смерть юнита, а далее через Если То Иначе сделать получение опыта на каждый тип юнитов.
Зайдите в константы, нажав пункт меню Дополнительно->Игровые константы.
Затем нажмите галочку "Использовать нест. игровые константы"
Опыт героя - "Общее распределение", нажмите Enter или дв. щелчок лев. кноп мыши, измените значение на нет, сняв галочку с параметра, Enter. ок. ок.
Работай с real (числа с запятой) вместо регионов, занеси в бд или проверяй условиями нужные координаты и выбирай.
Точка не будет утекать, если хранить одну точку в глобальной переменной и для мгновенных операций перемещать ее и использовать дальше по назначению.
В шапку над триггерами вставляешь этот код:
function RegionInit takes nothing returns nothing
//17/11/2016
set udg_GL = Location(0.0, 0.0)
set udg_RegionNumber = GetRandomInt(1, 4) // выбрать количество регионов
set udg_RegionX1 = GetRectMinX(udg_Region[udg_RegionNumber])
set udg_RegionY1 = GetRectMinY(udg_Region[udg_RegionNumber])
set udg_RegionX2 = GetRectMaxX(udg_Region[udg_RegionNumber])
set udg_RegionY2 = GetRectMaxY(udg_Region[udg_RegionNumber])
endfunction
Создаешь глобальные переменные типа:
точка с названием GL
регион массив с названием Region
целочисленная с названием RegionNumber - для хранения номера выбранного региона
реальное число с названиями RegionX1, RegionX2, RegionY1, RegionY1 - для хранения координат выбранного региона
После действий на картинке в инициализацию вставляешь кастом скрипт:
call RegionInit()
Перед каждым созданием юнита вставляешь кастом скрипт:
циклом (данного юнита от 1-6 слотов, на jass от нумерация слотов начинается так 0-5) пробегаешься по каждому слоту и проверяешь тип, кол-во зарядов. я на гуи что-то не нашел эту команду UnitItemInSlot
native UnitItemInSlot takes unit whichUnit, integer itemSlot returns item
кол-во итемов
ищем в каждом слоте один и тот же тип предмета. Этот код считывает кол-во итемов занимаемые в слотах
local integer id = ''//id-предмета, забудь указать в кавычках ид
local integer i=0 //для цикла
local integer c=0 //кол-во предметов
local unit u = //нужно не забыть указать юнита
//внизу начинается цикл, его блок
loop //начало цикла
exitwhen i > 5 //условие выхода из цикла
if GetItemTypeId(UnitItemInSlot(u,i)) == '' then //если тип в слоте равен ....
set c = c + 1
endif
set i = i + 1
endloop //конец цикла
кол-во предметов данного типа с N зарядами
local integer id = '' //id-предмета, забудь указать в кавычках ид
local integer i=0 //для цикла
local integer c=0 //кол-во предметов
local unit u = //нужно не забыть указать юнита
loop
exitwhen i > 5
if GetItemTypeId(UnitItemInSlot(u,i)) == id or GetItemCharges(UnitItemInSlot(u,i)) == 5 then //если тип в слоте такой, и и у этого итема зарядов равно 5
set c = c + 1
endif
set i = i + 1
endloop
set u = null
» WarCraft 3 / Можно ли изменить интерфейс в игре?
» IrInA Host Bot / Восхождение иллидана
» WarCraft 3 / Меню диалога
» WarCraft 3 / Герой не возрождается
» IrInA Host Bot / Верификация карты
» IrInA Host Bot / Заявка на верификацию Fantasy Pirates
» IrInA Host Bot / Заявка на верификацию
» IrInA Host Bot / Заявка на верификацию
» WarCraft 3 / Реалистичный туман.
» Администрация XGM / В настройках проекта
» Администрация XGM / Можете удалить мой ресурс
» WarCraft 3 / два юнита одновременно
» WarCraft 3 / Как удалить War3map.j из карты?
» WarCraft 3 / Ланшафт
» WarCraft 3 / AI на WAI
» WarCraft 3 / Ремонт Битой Карты
» IrInA Host Bot / Как создать автохост? Здравствуйте.
» IrInA Host Bot / Выкидывает с карт
» WarCraft 3 / Опыт героя
» WarCraft 3 / Юнити